package com.booza.constants;

import java.util.regex.Pattern;

public class ValidationConstants
{
	/**
	 * RegEx Expression for validating that String CAN contain a-z A-Z 0-9 and . - _ as special characters.
	 */
	private static final String ALLOWED_ALPHA_NUMERIC_SPECIAL_REGEX = "^[a-zA-Z0-9-_.]*$";

	/**
	 * RegEx Expression for validating that String - MUST contain at least one alphabet in lower case.
	 */
	private static final String MUST_HAVE_ATLEAST_ONE_LOWERCASE_REGEX = "((?=.*[a-z]).{0,})";

	/**
	 * RegEx Expression for validating that String - MUST contain at least one alphabet in upper case.
	 */
	private static final String MUST_HAVE_ATLEAST_ONE_UPPERCASE_REGEX = "((?=.*[A-Z]).{0,})";

	/**
	 * RegEx Expression for validating that String - MUST contain at least one number from 0-9.
	 */
	private static final String MUST_HAVE_ATLEAST_ONE_NUMBER_REGEX = "((?=.*\\d).{0,})";

	/**
	 * Pattern for ALLOWED_ALPHA_NUMERIC_SPECIAL_REGEX
	 */
	public static final Pattern ALLOWED_ALPHA_NUMERIC_SPECIAL_PATTERN = Pattern
			.compile(ValidationConstants.ALLOWED_ALPHA_NUMERIC_SPECIAL_REGEX);

	/**
	 * Pattern for MUST_HAVE_ATLEAST_ONE_LOWERCASE_REGEX
	 */
	public static final Pattern MUST_HAVE_ATLEAST_ONE_LOWERCASE_PATTERN = Pattern
			.compile(ValidationConstants.MUST_HAVE_ATLEAST_ONE_LOWERCASE_REGEX);

	/**
	 * Pattern for MUST_HAVE_ATLEAST_ONE_UPPERCASE_PATTERN
	 */
	public static final Pattern MUST_HAVE_ATLEAST_ONE_UPPERCASE_PATTERN = Pattern
			.compile(ValidationConstants.MUST_HAVE_ATLEAST_ONE_UPPERCASE_REGEX);

	/**
	 * Pattern for MUST_HAVE_ATLEAST_ONE_NUMBER_PATTERN
	 */
	public static final Pattern MUST_HAVE_ATLEAST_ONE_NUMBER_PATTERN = Pattern
			.compile(ValidationConstants.MUST_HAVE_ATLEAST_ONE_NUMBER_REGEX);

}
